An increasing number of network users today are streaming multimedia, such as videos, across the Internet. The multimedia streamed can range from short user-generated YouTube® videos to TV shows and full-length movies. As a result, video transmission has now become a large portion of the Internet traffic.
Unlike traditional video transmission infrastructures such as cable TV, the Internet is a shared medium among all users of the Internet and Internet data packets are transmitted on a best-effort basis. As such, the bandwidth available to a particular user of the Internet can be dynamically varying, depending on the activity of other Internet users that share the Internet. Moreover, users that access the Internet by using mobile communication devices may also suffer additional unpredictable variations of the bandwidth due to the dynamic nature of the wireless network.
In the context of watching an Internet video, such variations of the available bandwidth can cause frequent pauses of the video that is being played on a client mobile communication device due to the undesired buffering of the video. As a result, video playing can be stalled and the user's experience of watching the video can be degraded. While a number of current techniques can be used to reduce the video stalling, the current techniques often involves reducing the bitrate of the video to be below the available bandwidth so that the video can be played in real-time without stalling. Reducing the video bitrate can be performed either at the source of the content, such as at a content server, or at an intermediate gateway node. Reducing the video bitrate frequently involves some form of video compression, and thus can result in an undesired loss of video quality.
Often times, users' experiences of watching an Internet video is important to the service providers. Thus, the service providers frequently monitor and try to improve their users' experiences. By improving their users' experiences, the service providers can attract their users and potential users to their services.